package com.cblz.bd.server.core.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cblz.bd.common.core.entity.BaSecurityDataRecycle;
import io.vavr.Tuple2;
import io.vavr.Tuple3;

import java.util.Map;

/**
 * @author yanjieping
 * @description 针对表【ba_security_data_recycle(回收规则表)】的数据库操作Service
 * @createDate 2022-11-04 15:09:53
 */
public interface BaSecurityDataRecycleService extends IService<BaSecurityDataRecycle> {

    /**
     * 操作前查询（获取所有数据库表名和DELETE的控制器）
     *
     * @return 所有数据库表名和DELETE的控制器
     */
    Tuple2<Map<String, String>, Map<String, String>> queryBeforeAnOperation();

    /**
     * 查询
     *
     * @param wrapperBaSecurityDataRecycleTuple3
     * @return
     */
    Map<String, Object> index(Tuple3<Page<BaSecurityDataRecycle>, QueryWrapper<BaSecurityDataRecycle>, Object> wrapperBaSecurityDataRecycleTuple3);

    /**
     * 拿到指定表对应的主键列
     *
     * @param tableName 表名
     * @return 主键列
     */
    String getPrimaryKeyString(String tableName);
}
